import { defineStore } from "pinia";
import { ref } from "vue";

const useCart = defineStore('cart',()=>{
    const cart = ref([])
    const addToCart = goods =>{
        const item = cart.value.find(item => goods.id == item.id)
        if(item){
            item.num += goods.num
        }else{
            cart.value.push(goods)
        }
    }
    const removeCart = id => {
        cart.value.forEach((item,index)=>{
            if(item.id == id){
                cart.value.splice(index,1)
            }
        })
    }
    const cartCount=()=>{
        let sum = 0
        cart.value.forEach(item=>{
            sum += item.num
        })
        return sum || undefined
    }
    return{ cart,addToCart,removeCart,cartCount}
},{
    persist:{
        enabled:true,
        strategies:[
            {
                key:'cart',
                storage:localStorage
            }
        ]
    }
})
export default useCart